In the field of printing, it is generally desirable to maximize not just printing quality, but also printing speed at a printer. Customers tend to dislike any delay that occurs between sending a print job to a printer, and receiving the printed sheets of the print job. Therefore, printer manufacturers strive to optimize not only the physical printing speed of marking engines that mark printed sheets, but also the processing speed of devices that prepare incoming print jobs for printing by interpreting and rasterizing them.
In order to increase the processing speed for incoming print data, print controllers often include multiple Raster Image Processors (RIPs) that operate in parallel. The print controller splits the incoming print job into groups of logical pages, and sends the groups of logical pages to different parallel RIPs for interpretation and rasterization.
RIPs are a finite resource, and the availability of a particular RIP at any given time for processing a print job may change as print jobs are processed by the print controller. For example, it's unlikely that all of the RIPs that operate on the print controller will become available at the same time for processing the next print job in a series of print jobs. Thus, some RIPs may be processing a prior print job while other RIPs become available to process the next print job. Further, some portions of a print job may entail more processing than others, which can cause the RIPs processing those portions to become overloaded and possibly, prevent those portions of the print job from being ready when they are needed during the printing process.